BibliotecaAuxiliarScript.execute('framework.src.gui.Component');

Image = Component.new();

Image.st_caminho_arquivo = '';
Image.img = nil;
Image.is_caminho_img_alterado = false;
function Image.__index(tabela,chave)
	return Image[chave];
end

function Image.new(o)
	local retorno = o or {};
	retorno = setmetatable(retorno,Image);
	return retorno;
end

--- Define special sequences of characters.
-- For each pair (find, subs), the function will create a field named with
-- find which has the value of subs.
-- It also creates an index for the table, according to the order of insertion.
-- @param subs The replacement pattern.
-- @param find The pattern to find.
function Image:draw()
	
	if(self.is_caminho_img_alterado)then
		self:atualizar();
		self.is_caminho_img_alterado = false;
	end
	
	local fundo = BibliotecaAuxiliarDesenho.newImagem(self.nb_largura,self.nb_altura);
	BibliotecaAuxiliarDesenho.limparTela(fundo,self.cor_fundo);
	
	BibliotecaAuxiliarDesenho.desenharImagem(self.nb_px_img,self.nb_py_img,self.img,fundo);
	return fundo;
end

function Image:handler()
end

function Image:setCaminhoArquivo(st_caminho)
	--Seta o caminho do arquivo
	self.st_caminho_arquivo = st_caminho;
	self.is_caminho_img_alterado = true;
end

function Image:atualizar()
	self.img = BibliotecaAuxiliarDesenho.getImagem(self.st_caminho_arquivo);	
	self.nb_largura_img,self.nb_altura_img = self.img:attrSize();
	
	self.nb_altura = self.nb_altura_img + self.nb_margem_superior+self.nb_margem_inferior;
	self.nb_largura = self.nb_largura_img + self.nb_margem_esquerda+self.nb_margem_direita;
		
	self.nb_px_img = (self.nb_largura-self.nb_largura_img)/2;
	self.nb_py_img = (self.nb_altura-self.nb_altura_img)/2;
end